Week 1 (June 4-8)

Overview

My first week at Dr Bahar's lab at Brown University. As it was my first week, I settled in at the lab and met the people I would be working with this summer. I started my research into neural networks and familiarized myself with those networks the lab already had as well as its dataset.

Monday

This day I met some of the people I would be working with this summer. The director had all of us have lunch together, so that we may exchange knowledge (local) about restaurants and places to go.

Afterward, I read both published papers and proposals from this lab so that I might get a handle on what the overall work is so far, where it intends to go. When finished with those papers, I read selected chapters from a textbook on machine learning.

Tuesday

This day I set up this website. I had already set up one like this last year, which made getting it all together a much quicker task than doing it the first time did. Once the structure was in place, I wrote yesterday's entry and this paragraph for the weekly journals.

Afterward, I met with the director who had me read a paper on Interative Closest Point, and afterward to run through tutorials for our most-used package (PyTorch). Reading the paper was fine, getting PyTorch to work was a lot of work that ended in discovering both the version the lab computer uses is too old for these tutorials and the relevant version of PyTorch does not support my personal laptop's OS. It was decided I would read the tutorials to understand, even without running them, and I would work with the lab's programs the next day.

Wednesday

This day I and my grad mentor got me started on working with the lab's Regional Convoluted Neural Networks (R-CNN), focusing on VGG11 and RES50. I was to experiment with these, testing how number of epochs affects accuracy of the final network. RES50 is quicker to train but strikingly less accurate than VGG11. In addition to those two types of networks I also tested VGG16. I left the VGG16 network to train overnight.

Thursday

This day I continued familiarizing myself with the lab's neural networks. I discovered the VGG16 I left overnight took up too much hard drive space, filled the drive, and crashed at #44. I cleared out the excess models (it stores every version trained) and had the training pick up again. I evaluated some versions (1-12,15,20,30,40,50,55) for their success rates at correctly identifying the location of each of fifteen items. I recorded and graphed the results; the network reaches near-maximum success at the 9th epoch, and it sees zero change after the 40th. It takes ~37min to run five epochs (~7.7min/epoch) so by stopping at the fortieth epoch, it saves about two hours, and by stopping at the ninth it saves 5-6 hours. A significant time-save.

Afterward, I attended a talk by a researcher from Seoul National University, Korea on "robust target tracking and path planning for mobile robots". They showed their math and some video demonstrations of the robot at work, following its target (a person) and a drone navigating between areas. For target tracking, they highlighted the potential for autonomous shopping carts that follow the user around a shop, for example.

Friday

This day I discovered the pre-trained networks I had been basing mine on all this week were out-dated, no-good ones. Which means this day I got the correct, yes-good ones and began working with actually useful networks. I received some papers to read on a network I will have to try out for the lab (SqueezeNet). Some day I will have to impliment this network, but that day is not this day.

Afterward, I worked with the new pre-trained networks. I did not get to test them, but I did make a script that will automate training each of them in turn to a maximum epoch count. I will leave this running over the weekend to see what they are like when I come in on Monday (I will also make sure to save #5, #10, and #20 for each of them to compare to)